package org.mendoza.salud.hvt.server.sync;

import org.jboss.errai.jpa.sync.client.shared.*;
import org.jboss.errai.jpa.sync.server.JavaReflectionAttributeAccessor;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;

@Stateless
@org.jboss.errai.bus.server.annotations.Service

//TODO: Se ha eliminado todo lo relacionado con la autenticacion y atentificacion, fijarse en la doc de errai.

public class DataSyncServiceImpl implements DataSyncService {

    private final JpaAttributeAccessor attributeAccessor = new JavaReflectionAttributeAccessor();
    @PersistenceContext
    private EntityManager em;

    @Override
    public <X> List<SyncResponse<X>> coldSync(SyncableDataSet<X> dataSet, List<SyncRequestOperation<X>> remoteResults) {
        DataSyncService dss = new org.jboss.errai.jpa.sync.server.DataSyncServiceImpl(em, attributeAccessor);
        return dss.coldSync(dataSet, remoteResults);
    }

}